KMP Based Pattern Matching Algorithms for Multi-Track Strings
نویسندگان
چکیده
Multi-track string is an N -tuple strings of length n. For two multi-track strings T = (t1, t2, . . . , tN ) of length n and P = (p1, p2, ..., pM ) of length m, permuted pattern matching is a problem to find all positions i such that P is permuted match with T[i : i+M ]. We propose three new algorithms for permuted pattern matching based on the KMP algorithm. The first algorithm is an exact matching algorithm that runs in O(nN) time after O(mM)-time preprocessing. The second and third algorithms are filtering algorithms that run in O(n(N + σ)) after O(m(M + σ))time preprocessing, where σ is the size of alphabet. Experiments show that our algorithms run faster than AC automaton based algorithm that proposed by Katsura et al. [5].
منابع مشابه
Time Complexity of Knuth-Morris-Pratt String Matching Algorithm
This project centers on the evaluation for the time complexity of Knuth-Morris-Pratt(KMP) string matching algorithm. String matching problem is to locate a pattern string within a larger string. The best performance in terms of asymptotic time complexity is currently linear, given by the KMP algorithm. In this algorithm, firstly a prefix for the pattern string is computed and then based on this...
متن کاملOn Compile Time Knuth-Morris-Pratt Precomputation
Many keyword pattern matching algorithms use precomputation subroutines to produce lookup tables, which in turn are used to improve performance during the search phase. If the keywords to be matched are known at compile time, the precomputation subroutines can be implemented to be evaluated at compile time versus at run time. This will provide a performance boost to run time operations. We have...
متن کاملPosition Heaps for Permuted Pattern Matching on Multi-Track String
A multi-set of N strings of length n is called a multi-track string. The permuted pattern matching is the problem that given two multi-track strings T = {t1, . . . , tN} of length n and P = {p1, . . . , pN} of length m, outputs all positions i such that {p1, . . . , pN} = {t1[i : i+m−1], . . . , tN [i : i+m−1]}We propose two new indexing structures for multi-track stings. One is a time-efficien...
متن کاملTransposition Invariant Pattern Matching for Multi-Track Strings
We consider the problem of multi-track string matching. The task is to find the occurrences of a pattern across parallel strings. Given an alphabet Σ of natural numbers and a set S over Σ of h strings si = s1 · · · s i n for i = 1, . . . , h, a pattern p = p1 · · · pm has such an occurrence at position j of S if p1 = s i1 j , p2 = s i2 j+1, . . . , pm = s im j+m−1 holds for i1, . . . , im ∈ {1,...
متن کاملMultithreaded Implementation of Hybrid String Matching Algorithm
Reading and taking reference from many books and articles, and then analyzing the Navies algorithm, Boyer Moore algorithm and Knuth Morris Pratt (KMP) algorithm and a variety of improved algorithms, summarizes various advantages and disadvantages of the pattern matching algorithms. And on this basis, a new algorithm – Multithreaded Hybrid algorithm is introduced. The algorithm refers to Boyer M...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2016